<?php
require_once('mysql_table.php');

class subcategoria extends mysql_table{

    function __construct(){
        parent::__construct();
        $this->TableName = "SUBCATEGORIA";
        $this->IDField = "ID";        
        
        $this->fields['ID']  = "";
        $this->fields['ID_PRODUCTO']  = "";
        $this->fields['ID_CATEGORIA']  = "";
        $this->fields['DESCRIPCION']  = "";
        $this->fields['DESCRIPCION_ADMIN']  = "";
        $this->fields['ORDEN']  = "";
        $this->fields['ID_STATUS'] = "";
        
    }
    
    /*
     * @return los activos
     * */
    function buscar(){
        
        $query = "SELECT SUBCATEGORIA.*, CATEGORIAS.DESCRIPCION AS CATEGORIA, CATEGORIAS.DESCRIPCION_ADMIN AS CATEGORIA_DESC, 
        PRODUCTOS.DESCRIPCION AS PRODUCTO, PRODUCTOS.DESCRIPCION_ADMIN AS PRODUCTO_DESC
         FROM SUBCATEGORIA, CATEGORIAS, PRODUCTOS WHERE SUBCATEGORIA.ID_STATUS=1 AND CATEGORIAS.ID = SUBCATEGORIA.ID_CATEGORIA
          AND SUBCATEGORIA.ID_PRODUCTO = PRODUCTOS.ID AND PRODUCTOS.ID_STATUS =1 AND CATEGORIAS.ID_STATUS = 1 ORDER BY SUBCATEGORIA.ORDEN ASC";
        $salida = $this->tovector_assoc_query($query);
        //print($query);
        return $salida;
            
    }
    
    
     /*
     * @return los del producto y categoria seleccionado
     * */
    function buscar_por($id_producto,$id_categoria){
        
        $query = "SELECT * FROM SUBCATEGORIA WHERE ID_STATUS=1 
        AND ID_PRODUCTO=".$id_producto." AND ID_CATEGORIA=".$id_categoria. " ORDER BY SUBCATEGORIA.ORDEN ASC";
        $salida = $this->tovector_assoc_query($query);
        //print($query);
        return $salida;
            
    }
    
     /*
     * @return nada si dos campos son iguales a los comparados
     * */
    function unique($Column1,$Value1,$Column2,$Value2,$Column3,$Value3){
        $query = "SELECT * FROM " . $this->TableName ." WHERE ".$Column1."=" . $Value1." AND ".$Column2."=" . $Value2." AND ".$Column3."=" . $Value3." AND ID_STATUS=1";
        $result = $this->runquery($query);
        //print_r($query);
        if ($this->SQLObject->num_rows($result) == 0) {
            return false;
        } else {
            $this->getdata($result);
            return true;
        }}
        
     /*
     * @return 1 si los inactivo todos
     * @param el campo por el cual se va a eliminar
     * @valor el id del campo
     * */
    function inactive_all($campo,$valor){
        
        $query = "UPDATE ".$this->TableName." SET ID_STATUS=0 WHERE ".$campo."=".$valor;
        if ($this->runquery($query)) {
            return 1;
        } else {
        $this->SQLObject->Error;
            return 0;
        }
            
    }    
    
}
?>
